const fs = require('fs');
const path = require('path');

// 读取真实数据文件
const dataPath = path.join(__dirname, '通过插件拦截响应数据（政采云销售订单）.md');
const rawData = fs.readFileSync(dataPath, 'utf8');

// 解析JSON数据
const jsonData = JSON.parse(rawData);

console.log('=== 数据结构分析 ===');
console.log('jsonData类型:', typeof jsonData);
console.log('jsonData键:', Object.keys(jsonData));

// 检查data字段
console.log('\n=== data字段分析 ===');
console.log('jsonData.data类型:', typeof jsonData.data);
console.log('jsonData.data是否为数组:', Array.isArray(jsonData.data));

if (Array.isArray(jsonData.data)) {
  console.log('jsonData.data长度:', jsonData.data.length);
  
  if (jsonData.data.length > 0) {
    const firstItem = jsonData.data[0];
    console.log('\n=== 第一个数据项分析 ===');
    console.log('firstItem类型:', typeof firstItem);
    console.log('firstItem键:', Object.keys(firstItem));
    
    // 检查response字段
    if (firstItem.response) {
      console.log('\n=== response字段分析 ===');
      console.log('firstItem.response类型:', typeof firstItem.response);
      console.log('firstItem.response键:', Object.keys(firstItem.response));
      
      // 检查result字段
      if (firstItem.response.result) {
        console.log('\n=== result字段分析 ===');
        console.log('firstItem.response.result类型:', typeof firstItem.response.result);
        console.log('firstItem.response.result键:', Object.keys(firstItem.response.result));
        
        // 检查data字段
        if (firstItem.response.result.data) {
          console.log('\n=== result.data字段分析 ===');
          console.log('firstItem.response.result.data类型:', typeof firstItem.response.result.data);
          console.log('firstItem.response.result.data是否为数组:', Array.isArray(firstItem.response.result.data));
          
          if (Array.isArray(firstItem.response.result.data)) {
            console.log('firstItem.response.result.data长度:', firstItem.response.result.data.length);
            
            if (firstItem.response.result.data.length > 0) {
              const firstOrder = firstItem.response.result.data[0];
              console.log('\n=== 第一个订单分析 ===');
              console.log('firstOrder类型:', typeof firstOrder);
              console.log('firstOrder键:', Object.keys(firstOrder));
              
              if (firstOrder.order) {
                console.log('\n=== order字段分析 ===');
                console.log('firstOrder.order类型:', typeof firstOrder.order);
                console.log('firstOrder.order键:', Object.keys(firstOrder.order));
              }
              
              if (firstOrder.items) {
                console.log('\n=== items字段分析 ===');
                console.log('firstOrder.items类型:', typeof firstOrder.items);
                console.log('firstOrder.items是否为数组:', Array.isArray(firstOrder.items));
                console.log('firstOrder.items长度:', firstOrder.items.length);
                
                if (firstOrder.items.length > 0) {
                  console.log('第一个订单项的键:', Object.keys(firstOrder.items[0]));
                }
              }
            }
          }
        }
      }
    }
  }
}

// 构造发送到API的数据格式
const apiData = {
  batchId: jsonData.batchId,
  timestamp: jsonData.timestamp,
  dataType: jsonData.dataType,
  data: jsonData.data
};

console.log('\n=== API数据结构 ===');
console.log('apiData.data类型:', typeof apiData.data);
console.log('apiData.data是否为数组:', Array.isArray(apiData.data));

if (Array.isArray(apiData.data) && apiData.data.length > 0) {
  const firstItem = apiData.data[0];
  console.log('第一个数据项是否有response字段:', !!firstItem.response);
  if (firstItem.response) {
    console.log('response是否有result字段:', !!firstItem.response.result);
    if (firstItem.response.result) {
      console.log('result是否有data字段:', !!firstItem.response.result.data);
    }
  }
}